home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
pc
/
LOGIC Apple II 5.25" Library - DOS Part 3
/
DOS081.dsk
/
INVERSE FIELD INPUT.bas
< prev
Wrap
BASIC Source File
|
2012-02-16
|
3KB
|
103 lines
0 D$ = CHR$(13) + CHR$(4): TEXT : HOME : PRINT D$"BLOAD INV.INPUT.INST"
2 VTAB 23: HTAB 6: INVERSE : PRINT " PRESS ANY KEY TO RUN PROGRAM ": NORMAL : GET A$
10 GOTO 200: REM BRANCH TO TEST PROGRAM
19 REM
20 REM ***********************
21 REM INVERSE FIELD INPUT
22 REM SUBROUTINE
23 REM ***********************
24 REM
25 REM IS$=INPUT STRING
27 REM IC$=INPUT CHARACTER
29 REM VT=VERT. TAB POSITION
30 REM OF FIELD BEGINNING
32 REM HT=HORIZ. TAB POSITION
33 REM OF FIELD BEGINNING
35 REM FL=FIELD LENGTH
37 REM CP=CURSOR POSITION
38 REM IN FIELD
39 REM
40 REM LINE 50 IS BEGINNING
41 REM OF SUBROUTINE
42 REM
45 REM SET INVERSE FIELD, SET
46 REM INPUT STRING TO NULL,
47 REM TAB TO BEGINNING OF
48 REM FIELD, SET CP TO 1
50 INVERSE : VTAB VT: HTAB HT:IS$ = "":CP = 1
55 REM
56 REM READ CHARACTER, CHECK
57 REM FOR ESC KEY
60 GET IC$: IF IC$ = CHR$(27) THEN NORMAL : RETURN
65 REM
66 REM CHECK FOR CARRIAGE RET.
70 IF IC$ = CHR$(13) THEN 130
75 REM
76 REM CHECK FOR BACK ARROW
80 IF IC$ = CHR$(8) THEN 150
85 REM
86 REM CHECK FOR CURSOR PAST
87 REM END OF FIELD
90 IF CP >FL THEN PRINT CHR$(7);: GOTO 60
95 REM
96 REM CHECK FOR FORWARD ARROW
100 IF IC$ = CHR$(21) THEN 180
102 REM
103 REM DO NOT ALLOW INPUT OF
104 REM CONTROL CHARACTERS
105 REM (REMOVE THIS LINE TO
106 REM ALLOW INPUT OF CONTROL
107 REM CHARACTERS)
110 IF ASC(IC$) <32 THEN PRINT CHR$(7);: GOTO 60
112 REM
113 REM ADD LATEST CHAR. TO
114 REM STRING, PRINT CHAR.,
115 REM INCREMENT CP, BRANCH
116 REM BACK FOR NEXT CHAR.
120 IS$ = IS$ +IC$: PRINT IC$;:CP = CP +1: GOTO 60
125 REM
126 REM IF CARRIAGE RETURN,
127 REM BLANK REST OF FIELD
128 REM AND RETURN FROM
129 REM SUBROUTINE
130 IF CP < = FL THEN FOR I = CP TO FL: PRINT " ";: NEXT
140 NORMAL : RETURN
143 REM
144 REM IF BACK ARROW, BACK-
145 REM SPACE AND REMOVE LAST
146 REM CHARACTER FROM STRING
150 CP = CP -1: IF CP = 0 THEN PRINT CHR$(7);: GOTO 50
160 PRINT IC$;: IF CP >1 THEN IS$ = LEFT$(IS$,CP -1): GOTO 60
170 GOTO 50
172 REM
173 REM IF FORWARD ARROW, READ
174 REM INVERSE CHARACTER AT
175 REM CURSOR, CONVERT TO
176 REM NORMAL CHARACTER, AND
177 REM BRANCH TO LINE WHICH
178 REM ADDS CHAR. TO STRING
180 AS = PEEK( PEEK(40) +256 * PEEK(41) + PEEK(36)): IF AS <32 THEN IC$ = CHR$(AS +64): GOTO 120
190 IC$ = CHR$(AS): GOTO 120
192 REM
193 REM **********************
194 REM TEST PROGRAM TO ILLUS-
195 REM TRATE INVERSE FIELD
196 REM INPUT SUBROUTINE
197 REM **********************
198 REM
200 HOME : VTAB 5
202 PRINT "INPUT THE REQUESTED INFORMATION"
204 PRINT "IN EACH FIELD.": PRINT
206 PRINT "PRESS 'RETURN' AFTER EACH ENTRY."
210 VTAB 12: HTAB 11: PRINT "NAME: ";:FL = 20: GOSUB 500
220 VTAB 14: HTAB 2: PRINT "TELEPHONE NO.: ";:FL = 12: GOSUB 500
230 VT = 12:HT = 17:FL = 20: GOSUB 50:NA$ = IS$
240 VT = 14:HT = 17:FL = 12: GOSUB 50:PH$ = IS$
250 VTAB 18: HTAB 11: PRINT "NAME: "NA$
260 HTAB 2: PRINT "TELEPHONE NO.: "PH$
270 END
500 INVERSE : FOR I = 1 TO FL: PRINT " ";: NEXT : NORMAL : RETURN
600 REM
610 REM CHARLES L. HEARN
620 REM 7626 EAST 54TH PLACE
630 REM TULSA, OKLAHOMA 74145